<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Элементы И/ИЛИ/И-НЕ/ИЛИ-НЕ</title>
</head>

<body bgcolor="FFFFFF">

<table><tr><td>
<img  align="center" src="../../../../en/icons/andGate.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/orGate.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/nandGate.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/norGate.gif" width="32" height="32"><br>
<img  align="center" src="../../../../en/icons/andGateRect.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/orGateRect.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/nandGateRect.gif" width="32" height="32">
<img  align="center" src="../../../../en/icons/norGateRect.gif" width="32" height="32">
</td><td valign="center"><h1><em>Элементы И/ИЛИ/И-НЕ/ИЛИ-НЕ</em></h1></td></tr></table>

<p><table>
<tr><td><strong>Библиотека:</strong></td>
	<td><a href="index.html">Элементы</a></td></tr>
<tr><td><strong>Введён в:</strong></td>
	<td>2.0 Beta 1</td></tr>
<tr><td valign="top"><strong>Внешний вид:</strong></td>
	<td valign="top"><table>
	<tr><th></th>
		<th width="50">И</th>
		<th width="50">ИЛИ</th>
		<th width="50">И-НЕ</th>
		<th width="50">ИЛИ-НЕ</th></tr>
	<tr><th valign="middle" height="65" align="left">Фигурные:</th>
	    <td rowspan="3" colspan="4">
	       <img src="../../../../en/img-libs/gates-basic.png" width="294" height="206">
	    </td></tr>
	<tr><th valign="middle" height="65" align="left">Прямоугольные:</th></tr>
	<tr><th valign="middle" height="65" align="left">DIN 40700:</th></tr>
	</table></td>
</tr></table></p>

<h2>Поведение</h2>

<p>Элементы И, ИЛИ, И-НЕ, ИЛИ-НЕ вычисляют соответствующую функцию от значений на входах и выдают результат на выход.</p>

<p>По умолчанию, неподключенные входы игнорируются - то есть, если входы действительно не имеют ничего подключенного к ним - даже провода. Таким образом, вы можете добавить 5-входовый элемент, но подключить только два входа, и он будет работать как 2-входовый элемент; это избавляет вас от необходимости беспокоиться о настройке количества входов каждый раз при создании элемента. (Если все входы не подключены, то на выходе значение ошибки <em>X</em>.) Некоторые пользователи, однако, предпочитают, чтобы Logisim настаивал, чтобы все входы были подключены, поскольку это соответствует реальным элементам. Вы можете включить это поведение, выбрав меню Проект &gt; Параметры…, перейдя на вкладку Моделирование, и выбрав вариант <q>Ошибка для неопределённых входов</q> для <q>Выход элемента при неопределённости</q>.</p>

<p>Двухвходовая таблица истинности для элементов следующая. (Буква <em>X</em> обозначает значение ошибки, а буква <em>Z</em> обозначает плавающее значение.)</p>

<center><table>
<tr><td><table>
<tr><th colspan="4" align="center"><b>И</b></th></tr>
<tr><td></td><th align="center">0</th><th align="center">1</th><th align="center">X/Z</th></tr>
<tr><th align="center">0</th><td align="center">0</td><td align="center">0</td><td align="center">0</td></tr>
<tr><th align="center">1</th><td align="center">0</td><td align="center">1</td><td align="center">X</td></tr>
<tr><th align="center">X/Z</th><td align="center">0</td><td align="center">X</td><td align="center">X</td></tr>
</table></td><td>&nbsp;&nbsp;&nbsp;</td><td><table>
<tr><th colspan="4" align="center"><b>ИЛИ</b></th></tr>
<tr><td></td><th align="center">0</th><th align="center">1</th><th align="center">X/Z</th></tr>
<tr><th align="center">0</th><td align="center">0</td><td align="center">1</td><td align="center">X</td></tr>
<tr><th align="center">1</th><td align="center">1</td><td align="center">1</td><td align="center">1</td></tr>
<tr><th align="center">X/Z</th><td align="center">X</td><td align="center">1</td><td align="center">X</td></tr>
</table></td></tr><tr><td><table>
<tr><th colspan="4" align="center"><b>И-НЕ</b></th></tr>
<tr><td></td><th align="center">0</th><th align="center">1</th><th align="center">X/Z</th></tr>
<tr><th align="center">0</th><td align="center">1</td><td align="center">1</td><td align="center">1</td></tr>
<tr><th align="center">1</th><td align="center">1</td><td align="center">0</td><td align="center">X</td></tr>
<tr><th align="center">X/Z</th><td align="center">1</td><td align="center">X</td><td align="center">X</td></tr>
</table></td><td>&nbsp;&nbsp;&nbsp;</td><td><table>
<tr><th colspan="4" align="center"><b>ИЛИ-НЕ</b></th></tr>
<tr><td></td><th align="center">0</th><th align="center">1</th><th align="center">X/Z</th></tr>
<tr><th align="center">0</th><td align="center">1</td><td align="center">0</td><td align="center">X</td></tr>
<tr><th align="center">1</th><td align="center">0</td><td align="center">0</td><td align="center">0</td></tr>
<tr><th align="center">X/Z</th><td align="center">X</td><td align="center">0</td><td align="center">X</td></tr>
</table></td></tr></table></center>

<p>Короче говоря, эти компоненты работают как ожидается, пока на всех входах 0 или 1. Если на входе не 0 и не 1 (он плавающий или на нём значение ошибки), то компонент относится к этому значению как к 0 <em>и</em> 1 одновременно: если значение на выходе будет одинаковым в обоих случаях (например, если на одном из входов элемента И определённо 0, а значение на втором входе под вопросом), то выходное значение будет присутствовать; но если выход изменяется в зависимости от того, что на входе - 0 или 1, то на выходе будет значение ошибки.</p>

<p>Многобитные версии каждого элемента будут выполнять свои однобитные преобразования над входами поразрядно.</p>

<h2>Контакты (предполагается, что компонент направлен на восток)</h2>

<dl>

<dt>Западный край (входы, разрядность соответствует атрибуту Биты данных)</dt>
<dd><p>Входы компонента. Их будет столько, сколько указано в атрибуте Количество входов.</p>

<p>Заметьте, что если вы используете фигурные элементы, то западный край элементов ИЛИ и ИЛИ-НЕ будет искривлён. Тем не менее, входные контакты расположены вряд. Logisim отрисовывает короткие отрезки чтобы показать это; если вы перекроете отрезок, программа будет без предупреждений предполагать, что вы не хотели перекрыть его. При использовании "Вида для печати", эти отрезки не будут отрисованы, если не подключены к проводам.</p></dd>

<dt>Восточный край (выход, разрядность соответствует атрибуту Биты данных)</dt>
<dd><p>Выход элемента, значение на котором вычисляется на основании текущих значений на входах, как описано выше.</p></dd>

</dl>

<h2>Атрибуты</h2>

<p>Когда компонент выбран, или уже добавлен, клавиши от 0 до 9 меняют его атрибут <q>Количество входов</q>, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>, а клавиши со стрелками меняют его атрибут <q>Направление</q>.</p>

<dl>

<dt>Направление</dt>
<dd>Направление компонента (его выхода относительно его входов).</dd>

<dt>Биты данных</dt>
<dd>Разрядность входов и выходов компонента.</dd>

<dt>Размер элемента</dt>
<dd>Определяет, следует отрисовывать широкую или узкую версию компонента. Это не влияет на количество входов, которое задаётся атрибутом Количество входов. Однако, если выбраны фигурные элементы, то элемент будет отрисован с <q>крыльями</q>, чтобы вместить дополнительные входы помимо тех, которые фигура может вместить естественным образом.</dd>

<dt>Количество входов</dt>
<dd>Определяет, сколько контактов на западном крае будет иметь компонент.</dd>

<dt>Выходное значение</dt>
<dd>Указывает, как результаты "ложь" и "истина" будут переведены в выходные значения. По умолчанию "ложь" обозначается напряжением низкого уровня (0), а "истина" - напряжением высокого уровня (1), но одно из них может быть заменено высокоимпедансным (<q>плавающим</q>) значением. Это позволяет создавать соединения "монтажное ИЛИ" и "монтажное И", как показано ниже: слева у буферов значение атрибута Выходное значение - "плавающее/1", а направление согласования резистора - ноль, в итоге схема ведёт себя как монтажное ИЛИ; справа у буферов значение атрибута Выходное значение - "0/плавающее", а направление согласования резистора - единица, в итоге схема ведёт себя как монтажное И.

<center><img src="../../../../en/img-libs/wand-wor.png" width="220" height="91"></center></dd> 

<dt>Метка</dt>
<dd>Текст внутри метки, привязанной к элементу.</dd>

<dt>Шрифт метки</dt>
<dd>Шрифт, которым отрисовывается метка.</dd>

<dt>Инвертировать <var>x</var></dt>
<dd>Если <q>Да</q>, то значение на входе инвертируется до подачи на элемент. Входы считаются сверху вниз, если компонент направлен на восток или запад, и считаются слева направо, если он направлен на север или юг.</dd>

</dl>

<h2>Поведение Инструмента Нажатие</h2>

<p>Нет.</p>

<h2>Поведение Инструмента Текст</h2>

<p>Позволяет редактировать привязанную к элементу метку.</p>

<p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>

</body>
</html>
